package com.mall.order;

import com.mall.order.dto.*;

/**
 * 订单相关业务
 */
public interface OrderCoreService {

    /**
     * 创建订单
     * @param request
     * @return
     */
    CreateOrderResponse createOrder(CreateOrderRequest request);

    /**
     * 取消订单-----使用pipeline方式
     */
    CancelOrderResponse cancelOrder(CancelOrderRequest request);


    /**
     *  删除订单
     *
     * @param deleteOrderRequest
     * @return
     */
    DeleteOrderResponse deleteOrder(DeleteOrderRequest deleteOrderRequest);


    /**
     *  支付成功时，更新订单状态，更新锁定库存
     * @param request
     * @return
     */
    PayOrderSuccessResponse payOrderSuccess(PayOrderSuccessRequest request);


}
